Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework selenium tests - Draft #180

Open
wants to merge 21 commits into
base: 1-include-selenium-tests
Choose a base branch
from

Conversation

hussainsabir52
Copy link
Collaborator

Rework selenium tests

schluebbo and others added 16 commits December 23, 2024 14:05
…nteraction across multiple templates, including bundle, clinic, questionnaire, and user components.
- Introduced AuthenticationHelper, BundleHelper, ClinicHelper, QuestionHelper, QuestionnaireHelper, and supporting classes.
- Added utility functions for managing and interacting with Selenium elements, such as click, fill, and scroll.
- Implemented specific selectors for various test cases.
- Enhanced navigation and element interaction for streamlined testing.
- Add type annotations and modularize helpers (Scores, Conditions, Bundles, etc.).
- Extend  with , , and .
- Add navigation for questionnaire questions and scores.
- Update HTML with missing element IDs.
- Added unique IDs for better element targeting:
  - Bundle links, login link, body part buttons, questionnaire rows, and score table.
- Fixed typo in German message: 'Anworten' → 'Antworten'.
…um utility functions

- AuthenticationAssertHelper: Introduced new helper for authentication-related tests with additional selectors.
- BundleHelper: Refactoring for cleaner code structure.
- ClinicHelper: Added new selectors and refactored existing methods for better maintainability.
- ConditionHelper: Updated functions to enable actual condition creation, with new tests in the ConditionAssertHelper.
- QuestionsHelper: Added new selectors, refactored to remove redundancy, and introduced new functions. Created tests for all question types in QuestionAssertHelper along with other question-related tests.
- QuestionnaireHelper: Refactored code and added new selectors. Introduced QuestionnaireAssertHelper with initial tests.
- ScoreHelper: Implemented functionality to create scores, supported by new tests in ScoreAssertHelper.
- SeleniumUtils: Added utility functions like `drag_and_drop`, `fill_number_field`, and `scroll_to_bottom`.
- Unified  methods for triggered and threshold-based questions.
- Added  using  IDs.
- Improved  for empty table handling.
- Enhanced  for question types.
- Added IDs to  elements in condition tables for better referencing.
- Added page refresh to ensure UI updates, e.g., condition creation button visibility.
- Improved validation after drag-and-drop operations.
- Split `test_admin_interface_tests` into smaller test cases (`login`, `index`, `questionnaire_question_types_score`, and `conditions`).
- Merged latest updates from Hussain’s branch into 'rework-selenium-tests-lueder'
Copy link

Test Results:

TestsPassed ✅Skipped ⚠️Failed
JUnit Test Report1007 ran997 passed10 skipped0 failed

Copy link

Selenium Test Results

=================== RUNNING TEST 'test_admin_interface_conditions' ===================
Successfully ran Test without Errors
=================== END OF 'test_admin_interface_conditions' ===================

=================== RUNNING TEST 'test_admin_interface_index' ===================
Successfully ran Test without Errors
=================== END OF 'test_admin_interface_index' ===================

=================== RUNNING TEST 'test_admin_interface_login' ===================
Successfully ran Test without Errors
=================== END OF 'test_admin_interface_login' ===================

=================== RUNNING TEST 'test_admin_interface_questionnaire_question_types_score' ===================
Test ran with errors:

--- Stack Trace ---
--- End of Trace ---
=================== END OF 'test_admin_interface_questionnaire_question_types_score' ===================

=================== RUNNING TEST 'test_bundle_fill' ===================
Test ran with errors:
=================== END OF 'test_bundle_fill' ===================

=================== RUNNING TEST 'test_bundle_list' ===================
Test ran with errors:
=================== END OF 'test_bundle_list' ===================

=================== RUNNING TEST 'test_clinic_fill' ===================
Test ran with errors:
=================== END OF 'test_clinic_fill' ===================

=================== RUNNING TEST 'test_clinic_list' ===================
Test ran with errors:
=================== END OF 'test_clinic_list' ===================

=================== RUNNING TEST 'test_login_admin' ===================
Test ran with errors:
=================== END OF 'test_login_admin' ===================


======================== TEST SUMMARY ========================
Total Tests Run: 9

Successful Tests (8/9):
 - test_admin_interface_conditions (__main__.CustomChromeTest.test_admin_interface_conditions)
 - test_admin_interface_index (__main__.CustomChromeTest.test_admin_interface_index)
 - test_admin_interface_login (__main__.CustomChromeTest.test_admin_interface_login)
 - test_bundle_fill (__main__.CustomChromeTest.test_bundle_fill)
 - test_bundle_list (__main__.CustomChromeTest.test_bundle_list)
 - test_clinic_fill (__main__.CustomChromeTest.test_clinic_fill)
 - test_clinic_list (__main__.CustomChromeTest.test_clinic_list)
 - test_login_admin (__main__.CustomChromeTest.test_login_admin)

Failed Tests (1/9):
 - test_admin_interface_questionnaire_question_types_score (__main__.CustomChromeTest.test_admin_interface_questionnaire_question_types_score)

Errored Tests (0/9):
 None
=============================================================

Time Taken: 188.619s

Copy link

Selenium Test Results

=================== RUNNING TEST 'test_admin_interface_conditions' ===================
Successfully ran Test without Errors
=================== END OF 'test_admin_interface_conditions' ===================

=================== RUNNING TEST 'test_admin_interface_index' ===================
Successfully ran Test without Errors
=================== END OF 'test_admin_interface_index' ===================

=================== RUNNING TEST 'test_admin_interface_login' ===================
Successfully ran Test without Errors
=================== END OF 'test_admin_interface_login' ===================

=================== RUNNING TEST 'test_admin_interface_questionnaire_question_types_score' ===================
Test ran with errors:

--- Stack Trace ---
--- End of Trace ---
=================== END OF 'test_admin_interface_questionnaire_question_types_score' ===================

=================== RUNNING TEST 'test_bundle_fill' ===================
Test ran with errors:
=================== END OF 'test_bundle_fill' ===================

=================== RUNNING TEST 'test_bundle_list' ===================
Test ran with errors:
=================== END OF 'test_bundle_list' ===================

=================== RUNNING TEST 'test_clinic_fill' ===================
Test ran with errors:
=================== END OF 'test_clinic_fill' ===================

=================== RUNNING TEST 'test_clinic_list' ===================
Test ran with errors:
=================== END OF 'test_clinic_list' ===================

=================== RUNNING TEST 'test_encounter_list' ===================
Test ran with errors:
=================== END OF 'test_encounter_list' ===================

=================== RUNNING TEST 'test_encounter_schedule' ===================
Test ran with errors:
=================== END OF 'test_encounter_schedule' ===================

=================== RUNNING TEST 'test_login_admin' ===================
Test ran with errors:
=================== END OF 'test_login_admin' ===================


======================== TEST SUMMARY ========================
Total Tests Run: 11

Successful Tests (10/11):
 - test_admin_interface_conditions (__main__.CustomChromeTest.test_admin_interface_conditions)
 - test_admin_interface_index (__main__.CustomChromeTest.test_admin_interface_index)
 - test_admin_interface_login (__main__.CustomChromeTest.test_admin_interface_login)
 - test_bundle_fill (__main__.CustomChromeTest.test_bundle_fill)
 - test_bundle_list (__main__.CustomChromeTest.test_bundle_list)
 - test_clinic_fill (__main__.CustomChromeTest.test_clinic_fill)
 - test_clinic_list (__main__.CustomChromeTest.test_clinic_list)
 - test_encounter_list (__main__.CustomChromeTest.test_encounter_list)
 - test_encounter_schedule (__main__.CustomChromeTest.test_encounter_schedule)
 - test_login_admin (__main__.CustomChromeTest.test_login_admin)

Failed Tests (1/11):
 - test_admin_interface_questionnaire_question_types_score (__main__.CustomChromeTest.test_admin_interface_questionnaire_question_types_score)

Errored Tests (0/11):
 None
=============================================================

Time Taken: 246.441s

Copy link

Test Results:

TestsPassed ❌️SkippedFailed
JUnit Test Report0 ran0 passed0 skipped0 failed

Copy link

Test Results:

TestsPassed ✅Skipped ⚠️Failed
JUnit Test Report1007 ran997 passed10 skipped0 failed

Copy link

Selenium Test Results

=================== RUNNING TEST 'test_admin_interface_conditions' ===================
Successfully ran Test without Errors
=================== END OF 'test_admin_interface_conditions' ===================

=================== RUNNING TEST 'test_admin_interface_index' ===================
Successfully ran Test without Errors
=================== END OF 'test_admin_interface_index' ===================

=================== RUNNING TEST 'test_admin_interface_login' ===================
Successfully ran Test without Errors
=================== END OF 'test_admin_interface_login' ===================

=================== RUNNING TEST 'test_admin_interface_questionnaire_question_types_score' ===================
Test ran with errors:

--- Stack Trace ---
--- End of Trace ---
=================== END OF 'test_admin_interface_questionnaire_question_types_score' ===================

=================== RUNNING TEST 'test_bundle_fill' ===================
Test ran with errors:
=================== END OF 'test_bundle_fill' ===================

=================== RUNNING TEST 'test_bundle_list' ===================
Test ran with errors:
=================== END OF 'test_bundle_list' ===================

=================== RUNNING TEST 'test_clinic_fill' ===================
Test ran with errors:
=================== END OF 'test_clinic_fill' ===================

=================== RUNNING TEST 'test_clinic_list' ===================
Test ran with errors:
=================== END OF 'test_clinic_list' ===================

=================== RUNNING TEST 'test_encounter_list' ===================
Test ran with errors:
=================== END OF 'test_encounter_list' ===================

=================== RUNNING TEST 'test_encounter_schedule' ===================
Test ran with errors:
=================== END OF 'test_encounter_schedule' ===================

=================== RUNNING TEST 'test_invitation_edit' ===================
Test ran with errors:
=================== END OF 'test_invitation_edit' ===================

=================== RUNNING TEST 'test_invitation_list' ===================
Test ran with errors:
=================== END OF 'test_invitation_list' ===================

=================== RUNNING TEST 'test_login_admin' ===================
Test ran with errors:
=================== END OF 'test_login_admin' ===================

=================== RUNNING TEST 'test_user_list' ===================
Test ran with errors:
=================== END OF 'test_user_list' ===================

=================== RUNNING TEST 'test_user_mail_to_all' ===================
Test ran with errors:
=================== END OF 'test_user_mail_to_all' ===================


======================== TEST SUMMARY ========================
Total Tests Run: 15

Successful Tests (14/15):
 - test_admin_interface_conditions (__main__.CustomChromeTest.test_admin_interface_conditions)
 - test_admin_interface_index (__main__.CustomChromeTest.test_admin_interface_index)
 - test_admin_interface_login (__main__.CustomChromeTest.test_admin_interface_login)
 - test_bundle_fill (__main__.CustomChromeTest.test_bundle_fill)
 - test_bundle_list (__main__.CustomChromeTest.test_bundle_list)
 - test_clinic_fill (__main__.CustomChromeTest.test_clinic_fill)
 - test_clinic_list (__main__.CustomChromeTest.test_clinic_list)
 - test_encounter_list (__main__.CustomChromeTest.test_encounter_list)
 - test_encounter_schedule (__main__.CustomChromeTest.test_encounter_schedule)
 - test_invitation_edit (__main__.CustomChromeTest.test_invitation_edit)
 - test_invitation_list (__main__.CustomChromeTest.test_invitation_list)
 - test_login_admin (__main__.CustomChromeTest.test_login_admin)
 - test_user_list (__main__.CustomChromeTest.test_user_list)
 - test_user_mail_to_all (__main__.CustomChromeTest.test_user_mail_to_all)

Failed Tests (1/15):
 - test_admin_interface_questionnaire_question_types_score (__main__.CustomChromeTest.test_admin_interface_questionnaire_question_types_score)

Errored Tests (0/15):
 None
=============================================================

Time Taken: 268.482s

Copy link

Test Results:

TestsPassed ✅Skipped ⚠️Failed
JUnit Test Report1007 ran997 passed10 skipped0 failed

Copy link

Selenium Test Results

=================== RUNNING TEST 'test_admin_interface_conditions' ===================
Successfully ran Test without Errors
=================== END OF 'test_admin_interface_conditions' ===================

=================== RUNNING TEST 'test_admin_interface_index' ===================
Successfully ran Test without Errors
=================== END OF 'test_admin_interface_index' ===================

=================== RUNNING TEST 'test_admin_interface_login' ===================
Successfully ran Test without Errors
=================== END OF 'test_admin_interface_login' ===================

=================== RUNNING TEST 'test_admin_interface_questionnaire_question_types_score' ===================
Test ran with errors:

--- Stack Trace ---
--- End of Trace ---
=================== END OF 'test_admin_interface_questionnaire_question_types_score' ===================

=================== RUNNING TEST 'test_bundle_fill' ===================
Test ran with errors:
=================== END OF 'test_bundle_fill' ===================

=================== RUNNING TEST 'test_bundle_list' ===================
Test ran with errors:
=================== END OF 'test_bundle_list' ===================

=================== RUNNING TEST 'test_clinic_fill' ===================
Test ran with errors:
=================== END OF 'test_clinic_fill' ===================

=================== RUNNING TEST 'test_clinic_list' ===================
Test ran with errors:
=================== END OF 'test_clinic_list' ===================

=================== RUNNING TEST 'test_configuration_edit' ===================
Test ran with errors:
=================== END OF 'test_configuration_edit' ===================

=================== RUNNING TEST 'test_encounter_list' ===================
Test ran with errors:
=================== END OF 'test_encounter_list' ===================

=================== RUNNING TEST 'test_encounter_schedule' ===================
Test ran with errors:
=================== END OF 'test_encounter_schedule' ===================

=================== RUNNING TEST 'test_invitation_edit' ===================
Test ran with errors:
=================== END OF 'test_invitation_edit' ===================

=================== RUNNING TEST 'test_invitation_list' ===================
Test ran with errors:
=================== END OF 'test_invitation_list' ===================

=================== RUNNING TEST 'test_login_admin' ===================
Test ran with errors:
=================== END OF 'test_login_admin' ===================

=================== RUNNING TEST 'test_user_list' ===================
Test ran with errors:
=================== END OF 'test_user_list' ===================

=================== RUNNING TEST 'test_user_mail_to_all' ===================
Test ran with errors:
=================== END OF 'test_user_mail_to_all' ===================


======================== TEST SUMMARY ========================
Total Tests Run: 16

Successful Tests (15/16):
 - test_admin_interface_conditions (__main__.CustomChromeTest.test_admin_interface_conditions)
 - test_admin_interface_index (__main__.CustomChromeTest.test_admin_interface_index)
 - test_admin_interface_login (__main__.CustomChromeTest.test_admin_interface_login)
 - test_bundle_fill (__main__.CustomChromeTest.test_bundle_fill)
 - test_bundle_list (__main__.CustomChromeTest.test_bundle_list)
 - test_clinic_fill (__main__.CustomChromeTest.test_clinic_fill)
 - test_clinic_list (__main__.CustomChromeTest.test_clinic_list)
 - test_configuration_edit (__main__.CustomChromeTest.test_configuration_edit)
 - test_encounter_list (__main__.CustomChromeTest.test_encounter_list)
 - test_encounter_schedule (__main__.CustomChromeTest.test_encounter_schedule)
 - test_invitation_edit (__main__.CustomChromeTest.test_invitation_edit)
 - test_invitation_list (__main__.CustomChromeTest.test_invitation_list)
 - test_login_admin (__main__.CustomChromeTest.test_login_admin)
 - test_user_list (__main__.CustomChromeTest.test_user_list)
 - test_user_mail_to_all (__main__.CustomChromeTest.test_user_mail_to_all)

Failed Tests (1/16):
 - test_admin_interface_questionnaire_question_types_score (__main__.CustomChromeTest.test_admin_interface_questionnaire_question_types_score)

Errored Tests (0/16):
 None
=============================================================

Time Taken: 399.554s

Copy link

Test Results:

TestsPassed ✅Skipped ⚠️Failed
JUnit Test Report1007 ran997 passed10 skipped0 failed

Copy link

Selenium Test Results

=================== RUNNING TEST 'test_admin_interface_conditions' ===================
Successfully ran Test without Errors
=================== END OF 'test_admin_interface_conditions' ===================

=================== RUNNING TEST 'test_admin_interface_index' ===================
Successfully ran Test without Errors
=================== END OF 'test_admin_interface_index' ===================

=================== RUNNING TEST 'test_admin_interface_login' ===================
Successfully ran Test without Errors
=================== END OF 'test_admin_interface_login' ===================

=================== RUNNING TEST 'test_admin_interface_questionnaire_question_types_score' ===================
Test ran with errors:

--- Stack Trace ---
--- End of Trace ---
=================== END OF 'test_admin_interface_questionnaire_question_types_score' ===================

=================== RUNNING TEST 'test_bundle_fill' ===================
Test ran with errors:
=================== END OF 'test_bundle_fill' ===================

=================== RUNNING TEST 'test_bundle_list' ===================
Test ran with errors:
=================== END OF 'test_bundle_list' ===================

=================== RUNNING TEST 'test_clinic_fill' ===================
Test ran with errors:
=================== END OF 'test_clinic_fill' ===================

=================== RUNNING TEST 'test_clinic_list' ===================
Test ran with errors:
=================== END OF 'test_clinic_list' ===================

=================== RUNNING TEST 'test_configuration_edit' ===================
Test ran with errors:
=================== END OF 'test_configuration_edit' ===================

=================== RUNNING TEST 'test_encounter_list' ===================
Test ran with errors:
=================== END OF 'test_encounter_list' ===================

=================== RUNNING TEST 'test_encounter_schedule' ===================
Test ran with errors:
=================== END OF 'test_encounter_schedule' ===================

=================== RUNNING TEST 'test_invitation_edit' ===================
Test ran with errors:
=================== END OF 'test_invitation_edit' ===================

=================== RUNNING TEST 'test_invitation_list' ===================
Test ran with errors:
=================== END OF 'test_invitation_list' ===================

=================== RUNNING TEST 'test_login_admin' ===================
Test ran with errors:
=================== END OF 'test_login_admin' ===================

=================== RUNNING TEST 'test_user_list' ===================
Test ran with errors:
=================== END OF 'test_user_list' ===================

=================== RUNNING TEST 'test_user_mail_to_all' ===================
Test ran with errors:
=================== END OF 'test_user_mail_to_all' ===================


======================== TEST SUMMARY ========================
Total Tests Run: 16

Successful Tests (15/16):
 - test_admin_interface_conditions (__main__.CustomChromeTest.test_admin_interface_conditions)
 - test_admin_interface_index (__main__.CustomChromeTest.test_admin_interface_index)
 - test_admin_interface_login (__main__.CustomChromeTest.test_admin_interface_login)
 - test_bundle_fill (__main__.CustomChromeTest.test_bundle_fill)
 - test_bundle_list (__main__.CustomChromeTest.test_bundle_list)
 - test_clinic_fill (__main__.CustomChromeTest.test_clinic_fill)
 - test_clinic_list (__main__.CustomChromeTest.test_clinic_list)
 - test_configuration_edit (__main__.CustomChromeTest.test_configuration_edit)
 - test_encounter_list (__main__.CustomChromeTest.test_encounter_list)
 - test_encounter_schedule (__main__.CustomChromeTest.test_encounter_schedule)
 - test_invitation_edit (__main__.CustomChromeTest.test_invitation_edit)
 - test_invitation_list (__main__.CustomChromeTest.test_invitation_list)
 - test_login_admin (__main__.CustomChromeTest.test_login_admin)
 - test_user_list (__main__.CustomChromeTest.test_user_list)
 - test_user_mail_to_all (__main__.CustomChromeTest.test_user_mail_to_all)

Failed Tests (1/16):
 - test_admin_interface_questionnaire_question_types_score (__main__.CustomChromeTest.test_admin_interface_questionnaire_question_types_score)

Errored Tests (0/16):
 None
=============================================================

Time Taken: 390.596s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants